package cn.zhukelili.optimization;

/**
 * @description: 场景类
 * @author: hhbeast
 * @since: 2018/7/28 16:29
 */
public class Client {
    public static void main(String[] args) {
        //初始化对象池
        for (int i = 0; i < 4; i++) {
            String subject = "科目" + i;
            //初始化地址
            for (int j = 0; j < 30; j++) {
                String key = subject + "考试地点" + j;
                SignInfoFactory.getSignInfo(key);
            }
        }
        SignInfo signInfo = SignInfoFactory.getSignInfo("科目1考试地点1");
    }
}

/*
前面还有很多的对象创建提示语句，不再复制。通过这样的改造后，我们想想内存中有
多少个SignInfo对象？是的，最多120个对象，相比之前几万个SignInfo对象优化了非常多。细
心的读者可能注意到了SignInfo4Pool类基本上没有跑出我们的视线范围，仅仅在工厂方法中
使用到了，尽量缩小变更引起的风险，想想看我们的改动是不是很小，只要在展示层中拼一
个字符串，然后传递到工厂方法中就可以了。
通过这样的改造后，第三天系统运行得非常稳定，CPU占用率也下降了，而且以后再也
没有出现类似问题，这就是享元模式的功劳。
 */
